﻿namespace EyeOpen.Data.Nhibernate
{
    using EyeOpen.Queries;

    public interface IQuerySystemManager
    {
        IQueryEngine<TSource, TResult, TProvider> GetQueryEngine<TSource, TResult, TProvider>(IQuery<TSource, TResult> querySpec);

        IScalarEvaluator<TSource, TResult, TProvider> GetScalarEvaluator<TSource, TResult, TProvider>(IScalarQuery<TSource, TResult> scalarSpec);
    }
}